package 常用类.String类;

public class String {
    public static void main(java.lang.String[] args) {
        {
            java.lang.String str = "welcomr to jiazhong";
            //1.根据下标获取对应的字符
            char a = str.charAt(6);
            System.out.println(a);
            char a1 = str.charAt(str.length() - 1);
            System.out.println(a1);

            //2.获取字符串长度
            int len = str.length();
            System.out.println(len);
        }

        {
            //3.判断字符串的值是否相等（区分大小写）
            java.lang.String str1 = "hello";
            java.lang.String str2 = "Hello";
            System.out.println(str1.equals(str2));

            //4.将字符串改为小写
            java.lang.String str3 = "HeLLo";
            java.lang.String str3_1 = str3.toLowerCase();
            System.out.println(str3_1);

            //5.将字符串改为大写
            java.lang.String str3_2 = str3.toUpperCase();
            System.out.println(str3_2);

            //6.判断两个字符串是否相等（不区分大小写）

            //方法一：将字符串转换为小写，在判断是否相等
            java.lang.String str1_1 = str1.toLowerCase();
            java.lang.String str2_1 = str1.toLowerCase();
            System.out.println(str1_1.equals(str2_1));
            //System.out.println(str1_1.toLowerCase().equals(str2_1.toLowerCase()));

            //方法二：将字符串转换为大写，在判断是否相等
            java.lang.String str1_2 = str1.toUpperCase();
            java.lang.String str2_2 = str2.toUpperCase();
            System.out.println(str1_2.equals(str2_2));
            //System.out.println(str1_2.toUpperCase().equals(str2_2.toUpperCase()));

            //方法三：使用String提供的方法不区分大小写判断是否相等
            System.out.println(str1.equalsIgnoreCase(str2));

            //7.连接字符串
            java.lang.String str4 = str1.concat(str2);
            System.out.println(str4);

            System.out.println(str1 + str2);
        }

        {
            //8.判断字符串中是否包含某个子字符串
            java.lang.String str="welcomr to jiazhong";
            System.out.println(str.contains("jiazhong"));
            System.out.println(str.contains("jiazhongshixun"));
        }

        {
            /*9.获得某个字符串在原字符串中的下标，如果找不到则返回-1
             -indexof方法默认从字符串的起始位置开始搜搜，找到第一个匹配的字符串就停止
             -lastindexof方法从字符串末尾向前开始搜索
             */
            java.lang.String str="welcomr to jiazhong";
            int index=str.indexOf("hello");
            System.out.println(index);

            //使用lastIndexof方法获取，该方法从字符串末尾开始向前搜索
            System.out.println("==="+str.lastIndexOf(" "));

            System.out.println("***"+str.indexOf(" ",str.indexOf(" ")));
        }

        {
            //10.从一个字符串中截取子字符串
            java.lang.String str="welcomr to jiazhong!";
            int startIndex=str.indexOf("j");
            int endIndex=str.indexOf("!");
            java.lang.String str5=str.substring(startIndex,endIndex);
            System.out.println(str5);//(不含最后一个)

            System.out.println(str.substring(str.indexOf("w"),str.lastIndexOf(" ")));
        }

        {
            //11.检测字符串是否以某个字符串开头或结尾
            java.lang.String str="jiazhong_abc.txt";
            System.out.println(str.startsWith("jiazhong"));
            System.out.println(str.endsWith(".txt"));
        }

        {
            //12.字符串分割
            java.lang.String str="网游_音乐_篮球";
            java.lang.String[] strs=str.split("_");
            for (java.lang.String s:strs){
                System.out.println(s);
            }
        }

        {
            //13.字符串替换
            java.lang.String str="welcomr to jiazhong";
            System.out.println(str.replace("to","admin"));
            System.out.println(str.replace("o","#"));
        }

        {
            //14.截取字符串两端的空格
            java.lang.String str="    as  d f asf   ";
            System.out.println("|"+str+"|");
            System.out.println("|"+str.trim()+"|");
            System.out.println(str.replace(" ",""));
        }

        {
            //15.将字符串转换为字符数组
            java.lang.String str="admin";
            char[] charArray=str.toCharArray();
            for (int i = 0; i < charArray.length; i++) {
                System.out.println(charArray[i]);
            }
        }

        {
            //16.将任意类型的数据转换为字符串
            int num=10;
            char c='a';
            double b=30.2;
            java.lang.String str1= java.lang.String.valueOf(num);
            java.lang.String str2= java.lang.String.valueOf(c);
            java.lang.String str3= java.lang.String.valueOf(b);
            System.out.println(num);
            System.out.println(c);
            System.out.println(b);
        }

        {
            /*17.比较两个字符串的大小
              返回正整数表前面的字符串大于后面的字符串
              返回的是负整数表示前面的小于后面的字符串
              返回的是0表示两个字符串相等
             */
            java.lang.String str1="admin";
            java.lang.String str2="jiazhong";
            int i=str1.compareTo(str2);
            System.out.println(i);
        }
    }
}
